Methods, apparatus, and articles of manufacture to display data in compact spaces

ABSTRACT

Methods, apparatus, systems, and articles of manufacture are disclosed to display data in compact spaces. Examples instructions that, when executed, cause a processor to at least render a view container and a scroll container included in a graphics user interface (GUI); in response to a left edge of the scroll container being closer to a left side of the GUI than a left edge of the view container, render a left scroll toggle actionable to scroll the scroll container left; and in response to a right edge of the view container being closer to the left side of the GUI than a right edge of the scroll container, render a right scroll toggle actionable to scroll the scroll container right.

FIELD OF THE DISCLOSURE

This disclosure relates generally to graphical user interfaces, and,more particularly, to methods, apparatus, and articles of manufacture todisplay data in compact spaces.

BACKGROUND

As technology and society advance, users of applications (e.g.,web-based applications, smart-device applications, etc.) are faced witha daunting number of inputs from which to select. Graphical userinterface designers have sought to develop improved mechanisms to engageusers. To achieve such engagement, some interface designers utilizechips. As used herein, chips refer to compact user interface elementsthat represent an input, an attribute, or an action. Interface designershave developed chips that allow a user to enter information, makeselections, filter content, or trigger actions.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1A is an illustration of an environment including an examplecomputer executing an example operations management application.

FIG. 1B is a block diagram showing additional detail of the computer andthe operations management application of FIG. 1A.

FIG. 2 is a block diagram showing additional detail of the filter chipcontroller of FIG. 1B.

FIG. 3 is a flowchart representative of machine-readable instructionsthat may be executed to implement the filter chip controller of FIGS. 1and/or 2.

FIG. 4 is a flowchart representative of machine-readable instructionsthat may be executed to implement the filter chip controller of FIGS. 1and/or 2.

FIGS. 5-17 are illustrations of operations of the filter chip controllerof FIG. 2 when interacting with a user.

FIGS. 18 and 19 are illustrations of components of the filter chipsection of FIG. 1B.

FIG. 20 is an illustration of example pseudo-code which may be used toimplement the filter chip controller of FIGS. 1 and/or 2.

FIGS. 21A-21D are illustrations of operations of the filter chipcontroller of FIGS. 1 and/or 2 when displaying filter chips.

FIG. 22 is a block diagram of an example processing platform structuredto execute the instructions of FIGS. 3 and/or 4 to implement the filterchip controller of FIGS. 1 and/or 2.

FIG. 23 is a block diagram of an example software distribution platformto distribute software (e.g., software corresponding to the examplecomputer readable instructions of FIGS. 3 and/or 4) to client devicessuch as those owned and/or operated by consumers (e.g., for license,sale and/or use), retailers (e.g., for sale, re-sale, license, and/orsub-license), and/or original equipment manufacturers (OEMs) (e.g., forinclusion in products to be distributed to, for example, retailersand/or to direct buy customers).

The figures are not to scale. In general, the same reference numberswill be used throughout the drawing(s) and accompanying writtendescription to refer to the same or like parts. As used herein,connection references (e.g., attached, coupled, connected, and joined)may include intermediate members between the elements referenced by theconnection reference and/or relative movement between those elementsunless otherwise indicated. As such, connection references do notnecessarily infer that two elements are directly connected and/or infixed relation to each other.

Unless specifically stated otherwise, descriptors such as “first,”“second,” “third,” etc. are used herein without imputing or otherwiseindicating any meaning of priority, physical order, arrangement in alist, and/or ordering in any way, but are merely used as labels and/orarbitrary names to distinguish elements for ease of understanding thedisclosed examples. In some examples, the descriptor “first” may be usedto refer to an element in the detailed description, while the sameelement may be referred to in a claim with a different descriptor suchas “second” or “third.” In such instances, it should be understood thatsuch descriptors are used merely for identifying those elementsdistinctly that might, for example, otherwise share a same name. As usedherein “substantially real time” refers to occurrence in a nearinstantaneous manner recognizing there may be real world delays forcomputing time, transmission, etc. Thus, unless otherwise specified,“substantially real time” refers to real time+/−1 second.

DETAILED DESCRIPTION

FIG. 1A is an illustration of an environment 100 including an examplecomputer 102 executing an example operations management application 104.The environment 100 also includes an example network 106 by which thecomputer 102 may communication with example agriculture equipment 108and an example cloud computing network 109. Additionally, theenvironment 100 includes an example user 110 who may interact with thecomputer 102 and/or the operations management application 104.

In the illustrated example of FIG. 1A, the computer 102 is implementedby a laptop computer. In additional or alternative examples, thecomputer 102 may be implemented by one or more tablets, one or moresmartphones, one or more desktop computers, one or more computers thatare built into the cab of a vehicle. In such examples where multipledevices implement the computer 102, the devices can be configured tocommunicate via either a local area network (LAN) or a wireless LAN(WLAN). Other implementations of the computer 102 are possible outsideof those described above including additional or alternative networkinfrastructures for multi-device implementations of the computer 102. Inthe example of FIG. 1A, the computer 102 is configured to operate as ahost for the operations management application 104. For example, thecomputer 102 includes at least one processor, at least one memory, andat least one display that can be utilized by the operations managementapplication 104.

In the illustrated example of FIG. 1A, the operations managementapplication 104 is implemented by a web-based application. In additionalor alternative examples, the operations management application 104 maybe implemented as a smart-device application, software installed on adevice via a computer readable disk, software installed on a device viathe Internet, among others. In the example of FIG. 1A, the operationsmanagement application 104 is an application that is tailored tomanaging the operations of a farm. However, additional or alternativeimplementations of the operations management application 104 arepossible.

In the illustrated example of FIG. 1A, the operations managementapplication 104 allows a user (e.g., the user 110) to see what ishappening in the user's operation in substantially real time while alsolearning over time as data is gathered. The operations managementapplication 104 allows a user to collaborate with other individuals andallows the user to utilize tools to make decisions that save time,optimize yield, and increase profits. The operations managementapplication 104 allows a user to direct operations (e.g., at the user'sfarm) and allows the user to adjust operations as conditions change.

In the illustrated example of FIG. 1A, the network 106 is implemented bythe Internet. In additional or alternative examples, the network 106 maybe implemented using any suitable wired and/or wireless network(s)including, for example, one or more data buses, one or more LANs, one ormore WLANs, one or more cellular networks, one or more private networks,one or more public networks, etc. The network 106 enables the examplecomputer 102, the example agriculture equipment 108, and/or the cloudcomputing network 109 to be in communication. As used herein, the phrase“in communication,” including variances therefore, encompasses directcommunication and/or indirect communication through one or moreintermediary components and does not require direct physical (e.g.,wired) communication and/or constant communication, but rather includesselective communication at periodic or aperiodic intervals, as well asone-time events.

In the illustrated example of FIG. 1A, the agriculture equipment 108 isimplemented by a combine harvester. In additional or alternativeexamples, the agriculture equipment 108 may be implemented by a tractor,front loader, cultivator, or any other suitable vehicle. In the exampleof FIG. 1A, the agriculture equipment 108 is configured to at leasttransmit data associated with harvesting to a computer (e.g., thecomputer 102) associated with the operations management application 104.For example, the agriculture equipment 108 can upload data associatedwith harvesting to the cloud computing network 109. In such examples,the computer 102 can access the data via the cloud computing network109. In additional or alternative examples, the agriculture equipment108 is configured to be controlled remotely and to operate autonomously.

In the illustrated example of FIG. 1A, the cloud computing network 109is implemented as one or more network including one or more computersand/or storage devices. The devices of the cloud computing network 109are configured to be host software and/or other services (e.g., storageservices) subscribed to or purchased by the user 110. For example, cloudcomputing network 109 can store data associated with harvesting.Additionally or alternatively, the cloud computing network 109 canprocess the data associated with harvesting to assist the user 110 inanalyzing the data.

In the illustrated example of FIG. 1A, the user 110 is a person taskedwith managing a farm associated with the operations managementapplication 104. For example, the user 110 can be an owner and/oroperator of the farm, a hired hand, among others. The user 110 mayinteract with the operations management application 104 to displayvarious data for analysis via the computer 102. Additionally, forexample, the user 110 can utilize the operations management application104 to learn about his or her business (e.g., via the computer 102) andthen determine actions that the agriculture equipment 108 and/or otherequipment (e.g., one or more devices) are to take.

FIG. 1B is a block diagram showing additional detail of the computer 102and the operations management application 104 of FIG. 1A. The examplecomputer 102 includes an example display 112 and an example processor114. The example display 112 is displaying an example graphics userinterface (GUI) 116 associated with the operations managementapplication 104. For example, the GUI 116 includes an example tabsection 118, an example filter section 120 having an example firstfilter chip 122 and an example second filter chip 124, an exampleadditional filters button 126, and an example data display section 128.The example processor 114 includes an example filter chip controller130.

In the illustrated example of FIG. 1B, the display 112 is implemented bya liquid crystal display (LCD) of a laptop computer. In additional oralternative examples, the display 112 can be implemented by one or moreLCDs, one or more light-emitting diode (LED) displays, one or moreorganic LED (OLED) displays, one or more active-matrix OLED (AMOLED)displays, one or more electroluminescent displays (ELDs), one or moreplasma display panels (PDPs), and/or one or more quantum dot LED (QLED)displays.

In the illustrated example of FIG. 1B, the display 112 is incommunication the processor 114. For example, the display 112 is coupledto the processor 114 via any suitable wired and/or wirelesscommunication technique. In additional or alternative examples, thedisplay 112 and/or the processor 114 may be in communication usingsoftware, machine readable instructions, and/or communication protocolsspecification how information is communicated among the display 112and/or the processor 114.

In the illustrated example of FIG. 1B, the processor 114 is implementedby a general-purpose computing device (e.g., a central processing unit(CPU)). In additional or alternative examples, the processor 114 can beimplemented by one or more analog or digital circuit(s), logic circuits,programmable processor(s), programmable controller(s), graphicsprocessing unit(s) (GPU(s)), digital signal processor(s) (DSP(s)),application specific integrated circuit(s) (ASIC(s)), programmable logicdevice(s) (PLD(s)) and/or field programmable logic device(s) (FPLD(s)).

In the illustrated example of FIG. 1B, the processor 114 controls theoperations of the computer 102. For example, the processor 114 controlsthe operations associated with the GUI 116. The processor 114 includesthe filter chip controller 130. The filter chip controller 130 controlsat least the operations of the filter section 120, the first filter chip122, the second filter chip 124, and the additional filters button 126.

In the illustrated example of FIG. 1B, the GUI 116 is associated withthe operations management application 104. For example, the GUI 116displays information associated with the farm of FIG. 1. For example,the GUI 116 includes the tab section 118 which displays various tabs(e.g., fields, varieties, etc.) between which the user 110 can switch.

In the illustrated example of FIG. 1B, the GUI 116 includes the filtersection 120. The filter section 120 includes the first filter chip 122and the second filter chip 124. The GUI 116 also includes the additionalfilters button 126. For example, the first filter chip 122 and thesecond filter chip 124 are toggleable via the user 110. Additionally,the additional filters button 126 is operable to be selected by the user110 to open an additional filters modal within which the user 110 canselect filters that are not currently displayed in the filter section120.

In the illustrated example of FIG. 1B, the first filter chip 122 and thesecond filter chip 124 are primary filter chips. In examples disclosedherein, primary filter chips are visible at any time and allow the user110 to filter on the most common data for a given view. In examplesdisclosed herein, secondary filter chips are activated by selectingadditional filters button 126. As described above, selecting theadditional filters button 126 opens a modal that includes additionaldata filter options. As used herein, the term “modal” refers to agraphical control element that creates a child window within a parentwindow and creates a mode that disables the parent window but keeps theparent window visible. Once an additional filter is selected from themodal, the secondary filter chip is appended to the filter section 120.In this manner, the user 110 can select from among the first filter chip122, the second filter chip 124, and/or the additional filters button126 to filter data displayed in the data display section 128.

In the illustrated example of FIG. 1B, the first filter chip 122 and thesecond filter chip 124 can be selected by the user 110 to alter the datadisplayed in the data display section 128. For example, the user 110 canselect the first filter chip 122, labelled “Field” to display data inthe data display section 128 that corresponds to one or more fields(e.g., field “85,” the “East Bluff” field, the “NE Woods” field, etc.).In this manner, the first filter chip 122 and the second filter chip 124control the data that is presented in the data display section 128.

In the illustrated example of FIG. 1B, the data display section 128displays data selected by the user 110. To increase the volume of datathat may be displayed to the user 110 in the data display section 128,it is advantageous to reduce the size of the tab section 118 and thefilter section 120. However, maintaining a reduced size for the tabsection 118 and the filter section 120 creates a problem for presentinga large volume of data therein (e.g., tab data, filter chips, etc.). Forexample, as new filter chips are appended to the filter section 120, ifnothing is done to alter the filter section 120 and/or without providingadditional functionality to the user 110, the information displayed inthe filter section 120 can become cluttered and difficult to read and/orotherwise interpret.

In the illustrated example of FIG. 1B, examples disclosed herein includehorizontally scrollable filter chips that advantageously allow a user(e.g., the user 110) to easily interact with many filter chips that havebeen applied to any view. As space is limited on the display 112, thehorizontal scroll bar allows the user 110 to easily scroll through thefilter chips that have been applied. If the user 110 wants to modify afilter, they may modify the filter within the corresponding filter chip,or they can easily clear the filter.

In the illustrated example of FIG. 1B, the filter chip controller 130 isimplemented as HyperText Markup Language (HTML) code executing on theprocessor 114. In additional or alternative examples, the filter chipcontroller 130 can be implemented by one or more analog or digitalcircuit(s), logic circuits, programmable processor(s), programmablecontroller(s), GPU(s), DSP(s), ASIC(s), PLD(s) and/or FPLD(s). Thefilter chip controller 130 is configured to control the filter section120 and the additional filters button 126 and/or to determine when toallow horizontal scrolling within the filter section 120. For example,as described below, the filter chip controller 130 is implemented by afirst HTML container (e.g., the VC) that renders a second HTML container(e.g., the SC) within the first HTML container. The filter chipcontroller 130 measures the first HTML container and the second HTMLcontainer to determines if the content within the second HTML container(e.g., the SC) is larger than the first HTML container (e.g., the VC).If the content within the second HTML container is larger than the firstHTML container, the filter chip controller 130 detects the sizedifference and renders one or more scroll toggles to the side and/orsides that has and/or have overflowing content.

While an example environment 100 is illustrated in FIGS. 1A and 1B,examples disclosed herein are not limited thereto. For example, whileFIG. 1A illustrates a single agriculture equipment 108 implemented as acombine harvester, in other examples the agriculture equipment 108 canbe implemented by other farm vehicles and/or implements. For example, inother examples, the agriculture equipment 108 can be implemented bymultiple farm vehicles each optionally including an implement.

FIG. 2 is a block diagram showing additional detail of the filter chipcontroller 130 of FIG. 1B. The filter chip controller 130 includes anexample communication processor 202, an example filter display handler204, an example selection controller 206, an example container sizedetermination controller 208, and an example container size comparator210. In the example of FIG. 2, one or more of the communicationprocessor 202, the filter display handler 204, the selection controller206, the container size determination controller 208, and the containersize comparator 210 may be implemented as software executing on theprocessor 114. In the example of FIG. 2, any of the communicationprocessor 202, the filter display handler 204, the selection controller206, the container size determination controller 208, and/or thecontainer size comparator 210 can communicate via an examplecommunication bus 212.

In examples disclosed herein, the communication bus 212 may beimplemented using any suitable wired and/or wireless communication. Inadditional or alternative examples, the communication bus 212 includessoftware, machine readable instructions, and/or communication protocolsby which information is communicated among the communication processor202, the filter display handler 204, the selection controller 206, thecontainer size determination controller 208, and/or the container sizecomparator 210.

In the illustrated example of FIG. 2, the communication processor 202 isimplemented by HTML code executing on the processor 114. In additionalor alternative examples, the communication processor 202 can beimplemented by one or more analog or digital circuit(s), logic circuits,programmable processor(s), programmable controller(s), GPU(s), DSP(s),ASIC(s), PLD(s) and/or FPLD(s). The example communication processor 202functions as a network interface structured to communicate with otherdevices (e.g., other components of the processor 114) with a designatedphysical and data link layer standard.

In some examples, the communication processor 202 implements examplemeans for processing communications. The communication processing meansis implemented by executable instructions such as that implemented by atleast block 332 of FIG. 3 and/or at least block 426 of FIG. 4. Theexecutable instructions of block 332 of FIG. 3 and/or at least block 426of FIG. 4 may be executed on at least one processor such as the exampleprocessor 2212 of FIG. 22. In other examples, the communicationprocessing means is implemented by hardware logic, hardware implementedstate machines, logic circuitry, and/or any other combination ofhardware, software, and/or firmware.

In the illustrated example of FIG. 2, the filter display handler 204 isimplemented by HTML code executing on the processor 114. In additionalor alternative examples, the filter display handler 204 can beimplemented by one or more analog or digital circuit(s), logic circuits,programmable processor(s), programmable controller(s), GPU(s), DSP(s),ASIC(s), PLD(s) and/or FPLD(s). The filter display handler 204 isconfigured to control the display of the filter sections 120, the firstfilter chip 122, the second filter chip 124, the additional filtersbutton 126, and/or associated windows.

In the illustrated example of FIG. 2, the filter display handler 204 isconfigured to render a view container (VC) and a scroll container (SC).For example, rendering the VC includes displaying a list of filter chips(e.g., primary filter chips) within the filter section 120. The filterdisplay handler 204 is also configured to display the additional filtersbutton 126. Additionally, depending on the location of the SC withrespect to the VC, the filter display handler 204 is configured torender a left scroll toggle (LST) and/or a right scroll toggle (RST).For example, the LST is actionable to scroll the SC left and the RST isactionable to scroll the SC right. Based on user interaction with thescroll toggles, the filter display handler 204 is configured to adjustthe rendering of the VC. For example, the filter display handler 204 isconfigured to re-render the VC, the SC, the LST, and/or the RST aftereach click of the LST and/or the RST.

In the illustrated example of FIG. 2, the filter display handler 204 isconfigured to, in response to a user selecting a filter chip, display amenu associated with the selected filter chip. In the example of FIG. 2,the menu associated with the selected filter chip includescharacteristics that a user can select to customize and tailor theselected filter chip to their preference. For example, for a filter chipassociated with fields one through twenty, the menu associated with thefilter chip includes a checkbox for each field. In this manner, a usercan select specific ones of the twenty fields to display. In examplesdisclosed herein, filter chips can be associated with field organization(e.g., clients, farms, fields, etc.), products (e.g., chemicals thatfarmers apply to their fields), varieties (e.g., seed varieties thatfarmers plant and harvest), date range, moisture (e.g., the level ofmoisture in harvested crops), among others. Additionally, in examplesdisclosed herein, the menu associated with a filter chip includecheckboxes for operator, machine type, machine, implement, product type,product form, product manufacture, among others. Other filters andcorresponding characteristics are possible based on the data monitoredby the operations management application 104. Additionally, the filterdisplay handler 204 is configured to, in response to a user selectingthe additional filters button 126, display an “More Filters” modal. Forexample, the filter display handler 204 displays the “More Filters”modal within the GUI 116 without redirecting the user 110 away from theGUI 116. As such, the filter display handler 204 displays the “MoreFilters” modal in proximity to the filter chips, but outside the boundsof the VC (e.g., the filter section 120). In this manner, a user caneasily modify and apply the options for the filter chip withoutredirecting the users to another screen.

In the illustrated example of FIG. 2, in response to the user confirmingtheir selections in and/or closing the menu associated with the selectedfilter chip, the filter display handler 204 is configured to close themenu associated with the selected filter chip. If the selected filter isnot currently displayed in the VC (e.g., the filter section 120), thefilter display handler 204 renders a new filter chip for the selectedfilter. If the selected filter is currently displayed in the VC (e.g.,the filter section 120) or after rendering a new filter chip for afilter that was not previously displayed, the filter display handler 204indicates that the selected filter chip is active. For example, thefilter display handler 204 highlights the selected filter chip.

In the illustrated example of FIG. 2, the filter display handler 204sets the text of the selected filter chip according to the selectedcharacteristic(s). For example, the filter display handler 204 displaysthe selected characteristics in the selected filter chip. The filterdisplay handler 204 also orients the selected filter chip as the firstin the list of filter chips. For example, the filter display handler 204orients the selected filter chip as the left-most filter chip in thefilter section 120.

In some examples, the filter display handler 204 implements examplemeans for displaying filter chips. The filter chip displaying means isimplemented by executable instructions such as that implemented by atleast blocks 302, 306, 312, 320, 324, 326, 328, and 330 of FIG. 3 and/orat least blocks 410, 420, and 424 of FIG. 4. The executable instructionsof blocks 302, 306, 312, 320, 324, 326, 328, and 330 of FIG. 3 and/orblocks 410, 420, and 424 of FIG. 4 may be executed on at least oneprocessor such as the example processor 2212 of FIG. 22. In otherexamples, the filter chip displaying means is implemented by hardwarelogic, hardware implemented state machines, logic circuitry, and/or anyother combination of hardware, software, and/or firmware.

In the illustrated example of FIG. 2, the selection controller 206 isimplemented by HTML code executing on the processor 114. In additionalor alternative examples, the selection controller 206 can be implementedby one or more analog or digital circuit(s), logic circuits,programmable processor(s), programmable controller(s), GPU(s), DSP(s),ASIC(s), PLD(s) and/or FPLD(s). The selection controller 206 isconfigured to handle the selection of icons associated with the filtersection 120, the first filter chip 122, the second filter chip 124, theadditional filters button 126 and/or one or more scroll toggles.

In the illustrated example of FIG. 2, the selection controller 206 isconfigured to determine whether a user has selected a filter chip and/orwhether the user has selected the additional filters button 126.Additionally, the selection controller 206 is configured to determinewhether a user has selected a filter within the “More Filters” modal.The selection controller 206 is configured to determine whether a userhas selected a characteristic of a selected filter chip and/or whetherthe user has confirmed their selection or closed out of the menuassociated with the selected filter chip. Additionally, after a userselects a filter chip or filter from within the “More Filters” modal,the selection controller 206 determines whether the selected filter chipand/or filter is currently displayed. The selection controller 206 isalso configured to determine whether a user has selected a scrolltoggle. For example, the selection controller 206 includes a clickhandler to cause the filter display handler 204 to move the SC left orright within the VC.

In some examples, the selection controller 206 implements example meansfor controlling selections. The selection controlling means isimplemented by executable instructions such as that implemented by atleast blocks 304, 308, 310, 314, 316, 318, and 322 of FIG. 3 and/or atleast block 422 of FIG. 4. The executable instructions of blocks 304,308, 310, 314, 316, 318, and 322 of FIG. 3 and/or block 422 of FIG. 4may be executed on at least one processor such as the example processor2212 of FIG. 22. In other examples, the selection controlling means isimplemented by hardware logic, hardware implemented state machines,logic circuitry, and/or any other combination of hardware, software,and/or firmware.

In the illustrated example of FIG. 2, the container size determinationcontroller 208 is implemented by HTML code executing on the processor114. In additional or alternative examples, the container sizedetermination controller 208 can be implemented by one or more analog ordigital circuit(s), logic circuits, programmable processor(s),programmable controller(s), GPU(s), DSP(s), ASIC(s), PLD(s) and/orFPLD(s). The container size determination controller 208 is configuredto determine the size of the VC and SC.

In the illustrated example of FIG. 2, the container size determinationcontroller 208 is configured to determine a location of a left edge ofthe SC (e.g., a left scroll edge (LSE)) and a location of a right edgeof the SC (e.g., a right scroll edge (RSE)). For example, the containersize determination controller 208 is configured to determine thecoordinates of a pixel on the LSE and the coordinates of a pixel on theRSE. In the example of FIG. 2, the container size determinationcontroller 208 is configured to determine a location of a left edge ofthe VC (e.g., a left view edge (LVE)) and a location of a right edge ofthe VC (e.g., a right view edge (RVE)). For example, the container sizedetermination controller 208 is configured to determine the coordinatesof a pixel on the LVE and the coordinates of a pixel on the RVE.

In some examples, the container size determination controller 208implements example means for container size determination. The containersize determining means is implemented by executable instructions such asthat implemented by at least blocks 402, 404, 406, and 408 of FIG. 4.The executable instructions of blocks 402, 404, 406, and 408 of FIG. 4may be executed on at least one processor such as the example processor2212 of FIG. 22. In other examples, the container size determining meansis implemented by hardware logic, hardware implemented state machines,logic circuitry, and/or any other combination of hardware, software,and/or firmware.

In the illustrated example of FIG. 2, the container size comparator 210is implemented by HTML code executing on the processor 114. Inadditional or alternative examples, the container size comparator 210can be implemented by one or more analog or digital circuit(s), logiccircuits, programmable processor(s), programmable controller(s), GPU(s),DSP(s), ASIC(s), PLD(s) and/or FPLD(s). The container size comparator210 is configured to compare the size of the VC to the size of the SC.

In the illustrated example of FIG. 2, the container size comparator 210is configured to determine whether the LSE is less than the LVE withrespect to the left side of the GUI 116. In response to determining thatthe LSE is less than the LVE with respect to the left side of the GUI116, the container size comparator 210 indicates that the left scrolltoggle (LST) is to be rendered. In the example of FIG. 2, the containersize comparator 210 is configured to determine whether the RVE is lessthan the RSE with respect to the left side of the GUI 116. In responseto determining that the RVE is less than the RSE with respect to theleft side of the GUI 116, the container size comparator 210 indicatesthat the right scroll toggle (RST) is to be rendered.

In some examples, the container size comparator 210 implements examplemeans for container size comparison. The container size comparing meansis implemented by executable instructions such as that implemented by atleast blocks 412, 414, 416, and 418 of FIG. 4. The executableinstructions of blocks 412, 414, 416, and 418 of FIG. 4 may be executedon at least one processor such as the example processor 2212 of FIG. 22.In other examples, the container size comparing means is implemented byhardware logic, hardware implemented state machines, logic circuitry,and/or any other combination of hardware, software, and/or firmware.

While an example manner of implementing the filter chip controller 130of FIG. 1 is illustrated in FIG. 2, one or more of the elements,processes and/or devices illustrated in FIG. 2 may be combined, divided,re-arranged, omitted, eliminated and/or implemented in any other way.Further, the example communication processor 202, the example filterdisplay handler 204, the example selection controller 206, the examplecontainer size determination controller 208, the container sizercomparator 210 and/or, more generally, the example filter chipcontroller 130 of FIG. 2 may be implemented by hardware, software,firmware and/or any combination of hardware, software and/or firmware.Thus, for example, any of the example communication processor 202, theexample filter display handler 204, the example selection controller206, the example container size determination controller 208, thecontainer sizer comparator 210 and/or, more generally, the examplefilter chip controller 130 of FIG. 2 could be implemented by one or moreanalog or digital circuit(s), logic circuits, programmable processor(s),programmable controller(s), graphics processing unit(s) (GPU(s)),digital signal processor(s) (DSP(s)), application specific integratedcircuit(s) (ASIC(s)), programmable logic device(s) (PLD(s)) and/or fieldprogrammable logic device(s) (FPLD(s)). When reading any of theapparatus or system claims of this patent to cover a purely softwareand/or firmware implementation, at least one of the examplecommunication processor 202, the example filter display handler 204, theexample selection controller 206, the example container sizedetermination controller 208, the container sizer comparator 210 and/or,more generally, the example filter chip controller 130 of FIG. 2 is/arehereby expressly defined to include a non-transitory computer readablestorage device or storage disk such as a memory, a digital versatiledisk (DVD), a compact disk (CD), a Blu-ray disk, etc. including thesoftware and/or firmware. Further still, the example filter chipcontroller 130 of FIG. 3 may include one or more elements, processesand/or devices in addition to, or instead of, those illustrated in FIG.2, and/or may include more than one of any or all of the illustratedelements, processes and devices. As used herein, the phrase “incommunication,” including variations thereof, encompasses directcommunication and/or indirect communication through one or moreintermediary components, and does not require direct physical (e.g.,wired) communication and/or constant communication, but ratheradditionally includes selective communication at periodic intervals,scheduled intervals, aperiodic intervals, and/or one-time events.

Flowcharts representative of example hardware logic, machine readableinstructions, hardware implemented state machines, and/or anycombination thereof for implementing the filter chip controller 130 ofFIG. 2 is shown in FIGS. 3 and/or 4. The machine readable instructionsmay be one or more executable programs or portion(s) of an executableprogram for execution by a computer processor and/or processorcircuitry, such as the processor 2212 shown in the example processorplatform 2200 discussed below in connection with FIG. 22. The program(s)may be embodied in software stored on a non-transitory computer readablestorage medium such as a CD-ROM, a floppy disk, a hard drive, a DVD, aBlu-ray disk, or a memory associated with the processor 2212, but theentire program and/or parts thereof could alternatively be executed by adevice other than the processor 2212 and/or embodied in firmware ordedicated hardware. Further, although the example program(s) is (are)described with reference to the flowcharts illustrated in FIGS. 3 and/or4, many other methods of implementing the example filter chip controller130 may alternatively be used. For example, the order of execution ofthe blocks may be changed, and/or some of the blocks described may bechanged, eliminated, or combined. Additionally or alternatively, any orall of the blocks may be implemented by one or more hardware circuits(e.g., discrete and/or integrated analog and/or digital circuitry, anFPGA, an ASIC, a comparator, an operational-amplifier (op-amp), a logiccircuit, etc.) structured to perform the corresponding operation withoutexecuting software or firmware. The processor circuitry may bedistributed in different network locations and/or local to one or moredevices (e.g., a multi-core processor in a single machine, multipleprocessors distributed across a server rack, etc.).

The machine-readable instructions described herein may be stored in oneor more of a compressed format, an encrypted format, a fragmentedformat, a compiled format, an executable format, a packaged format, etc.Machine readable instructions as described herein may be stored as dataor a data structure (e.g., portions of instructions, code,representations of code, etc.) that may be utilized to create,manufacture, and/or produce machine executable instructions. Forexample, the machine readable instructions may be fragmented and storedon one or more storage devices and/or computing devices (e.g., servers)located at the same or different locations of a network or collection ofnetworks (e.g., in the cloud, in edge devices, etc.). The machinereadable instructions may require one or more of installation,modification, adaptation, updating, combining, supplementing,configuring, decryption, decompression, unpacking, distribution,reassignment, compilation, etc. in order to make them directly readable,interpretable, and/or executable by a computing device and/or othermachine. For example, the machine readable instructions may be stored inmultiple parts, which are individually compressed, encrypted, and storedon separate computing devices, wherein the parts when decrypted,decompressed, and combined form a set of executable instructions thatimplement one or more functions that may together form a program such asthat described herein.

In another example, the machine readable instructions may be stored in astate in which they may be read by processor circuitry, but requireaddition of a library (e.g., a dynamic link library (DLL)), a softwaredevelopment kit (SDK), an application programming interface (API), etc.in order to execute the instructions on a particular computing device orother device. In another example, the machine readable instructions mayneed to be configured (e.g., settings stored, data input, networkaddresses recorded, etc.) before the machine readable instructionsand/or the corresponding program(s) can be executed in whole or in part.Thus, machine readable media, as used herein, may include machinereadable instructions and/or program(s) regardless of the particularformat or state of the machine readable instructions and/or program(s)when stored or otherwise at rest or in transit.

The machine-readable instructions described herein can be represented byany past, present, or future instruction language, scripting language,programming language, etc. For example, the machine-readableinstructions may be represented using any of the following languages: C,C++, Java, C#, Perl, Python, JavaScript, HyperText Markup Language(HTML), Structured Query Language (SQL), Swift, etc.

As mentioned above, the example processes of FIGS. 3 and/or 4 may beimplemented using executable instructions (e.g., computer and/or machinereadable instructions) stored on a non-transitory computer and/ormachine readable medium such as a hard disk drive, a flash memory, aread-only memory, a compact disk, a digital versatile disk, a cache, arandom-access memory and/or any other storage device or storage disk inwhich information is stored for any duration (e.g., for extended timeperiods, permanently, for brief instances, for temporarily buffering,and/or for caching of the information). As used herein, the termnon-transitory computer readable medium is expressly defined to includeany type of computer readable storage device and/or storage disk and toexclude propagating signals and to exclude transmission media.

“Including” and “comprising” (and all forms and tenses thereof) are usedherein to be open ended terms. Thus, whenever a claim employs any formof “include” or “comprise” (e.g., comprises, includes, comprising,including, having, etc.) as a preamble or within a claim recitation ofany kind, it is to be understood that additional elements, terms, etc.may be present without falling outside the scope of the correspondingclaim or recitation. As used herein, when the phrase “at least” is usedas the transition term in, for example, a preamble of a claim, it isopen-ended in the same manner as the term “comprising” and “including”are open ended. The term “and/or” when used, for example, in a form suchas A, B, and/or C refers to any combination or subset of A, B, C such as(1) A alone, (2) B alone, (3) C alone, (4) A with B, (5) A with C, (6) Bwith C, and (7) A with B and with C. As used herein in the context ofdescribing structures, components, items, objects and/or things, thephrase “at least one of A and B” is intended to refer to implementationsincluding any of (1) at least one A, (2) at least one B, and (3) atleast one A and at least one B. Similarly, as used herein in the contextof describing structures, components, items, objects and/or things, thephrase “at least one of A or B” is intended to refer to implementationsincluding any of (1) at least one A, (2) at least one B, and (3) atleast one A and at least one B. As used herein in the context ofdescribing the performance or execution of processes, instructions,actions, activities and/or steps, the phrase “at least one of A and B”is intended to refer to implementations including any of (1) at leastone A, (2) at least one B, and (3) at least one A and at least one B.Similarly, as used herein in the context of describing the performanceor execution of processes, instructions, actions, activities and/orsteps, the phrase “at least one of A or B” is intended to refer toimplementations including any of (1) at least one A, (2) at least one B,and (3) at least one A and at least one B.

As used herein, singular references (e.g., “a”, “an”, “first”, “second”,etc.) do not exclude a plurality. The term “a” or “an” entity, as usedherein, refers to one or more of that entity. The terms “a” (or “an”),“one or more”, and “at least one” can be used interchangeably herein.Furthermore, although individually listed, a plurality of means,elements or method actions may be implemented by, e.g., a single unit orprocessor. Additionally, although individual features may be included indifferent examples or claims, these may possibly be combined, and theinclusion in different examples or claims does not imply that acombination of features is not feasible and/or advantageous.

FIG. 3 is a flowchart representative of machine-readable instructions300 which may be executed to implement the filter chip controller 130 ofFIGS. 1 and/or 2. The machine-readable instructions 300 begin at block302 where the filter display handler 204 displays a list of filter chipsand an additional filters button. For example, the filter displayhandler 204 displays the filter section 120 including the first filterchip 122 and the second filter chip 124 and additionally displays theadditional filters button 126. At block 304, the selection controller206 determines whether a user has selected a filter chip.

In the illustrated example of FIG. 3, in response to the selectioncontroller 206 determining that the user has selected a filter chip(block 304: YES), the machine-readable instructions 300 proceed to block312. In response to the selection controller 206 determining that theuser has not selected a filter chip (block 304: NO), themachine-readable instructions 300 proceed to block 306. For example, theselection controller 206 determining that the user has not selected afilter chip is indicative of the user selecting the additional filtersbutton 126. At block 306, the filter display handler 204 displays the“More Filters” modal.

In the illustrated example of FIG. 3, at block 308, the selectioncontroller 206 determines whether the user selected a filter within the“More Filters” modal. In response to the selection controller 206determining that the user selected a filter within the “More Filters”modal (block 308: YES), the machine-readable instructions 300 proceed toblock 312. In response to the selection controller 206 determining thatthe user has not selected a filter within the “More Filters” modal(block 308: NO), the machine-readable instructions 300 proceed to block310. At block 310, the selection controller 206 determines whether theuser has closed out of the “More Filters” modal.

In the illustrated example of FIG. 3, in response to the selectioncontroller 206 determining that the user has not closed out of the “MoreFilters” modal (block 310: NO), the machine-readable instructions 300return to block 308. In response to the selection controller 206determining that the user has closed out of the “More Filters” modal(block 310: YES), the machine-readable instructions 300 return to block320.

In the illustrated example of FIG. 3, at block 312, the filter displayhandler 204 displays a menu associated with the selected filter. Atblock 314, the selection controller 206 determines whether the userselected one or more characteristics of the selected filter chip. Inresponse to the selection controller 206 determining that the user hasnot selected one or more characteristics of the selected filter chip(block 314: NO), the machine-readable instructions 300 return to block312. In response to the selection controller 206 determining that theuser has selected one or more characteristics of the selected filterchip (block 314: YES), the machine-readable instructions 300 proceed toblock 316.

In the illustrated example of FIG. 3, at block 316, the selectioncontroller 206 determines whether the user has closed out of the menuassociated with the selected filter chip. For example, when the user isinteracting with the menu associated with a currently displayed filterchip, closing out of the menu associated with the selected filter chipcorresponds to the user selecting a “Close” or a “Done” button includedin the menu associated with the selected filter chip. Alternatively,when the user is interacting with the menu associated with a filter chipin the “More Filters” modal, closing out of the menu associated with theselected filter chip corresponds to the user selecting one or morecharacteristics of the selected filter chip.

In the illustrated example of FIG. 3, in response to the selectioncontroller 206 determining that the user has not closed out of the menuassociated with the selected filter chip (block 316: NO), themachine-readable instructions return to block 312. In response to theselection controller 206 determining that the user has closed out of themenu associated with the selected filter chip (block 316: YES), themachine-readable instructions proceed to block 318. At block 318, theselection controller 206 determines whether the user has confirmed hisor her selections.

In the illustrated example of FIG. 3, in response to the selectioncontroller 206 determining that the user has not confirmed his or herselections (block 318: NO), the machine-readable instructions return toblock 312. In response to the selection controller 206 determining thatthe user has confirmed his or her selections (block 318: YES), themachine-readable instructions proceed to block 320. At block 320, thefilter display handler 204 closes the menu associated with the selectedfilter chip or the “More Filters” modal depending on if the user hasopened the “More Filters” modal.

In the illustrated example of FIG. 3, at block 322, the selectioncontroller 206 determines whether a filter chip of the selected filteris currently displayed. For example, primary filter chips will bedisplayed by default whereas secondary filter chips may be displayedafter being activated by the user. In response to the selectioncontroller 206 determining that the filter chip of the selected filteris currently displayed (block 322: YES), the machine-readableinstructions 300 proceed to block 326. In response to the selectioncontroller 206 determining that the filter chip of the selected filteris not currently displayed (block 322: NO), the machine-readableinstructions 300 proceed to block 324.

In the illustrated example of FIG. 3, at block 324, the filter displayhandler 204 renders a new filter chip (e.g., a filter chip that is notcurrently displayed) for the selected filter. At block 326, the filterdisplay handler 204 indicates that the selected filter chip is active.For example, the filter display handler 204 can fill a previouslyunfilled filter chip. In other words, the filter display handler 204 canhighlight the selected filter chip. At block 328, the filter displayhandler 204 sets the text of the selected filter chip according to theselected characteristic. For example, the filter display handler 204displays the text of the selected characteristic in the selected filterchip). At block 330, the filter display handler 204 orients the selectedfilter chip as the first filter chip in the list of filter chips (e.g.,in the filter section 120). For example, the filter display handler 204appends the selected filter chip to the front of the currently displayedfilter chips.

In the illustrated example of FIG. 3, at block 332, the communicationprocessor 202 determines whether the filter chip controller 130 is tocontinue operating. For example, a condition that would cause thecommunication processor 202 to determine that the filter chip controller130 is to continue operating includes the user continuing to interactwith the GUI 116. Alternatively, a condition that would cause thecommunication processor 202 to determine that the filter chip controller130 is not to continue operating includes the user navigating away fromthe GUI 116. In response to the communication processor 202 determiningthat the filter chip controller 130 is to continue operating (block 332:YES), the machine-readable instructions 300 return to block 304. Inresponse to the communication processor 202 determining that the filterchip controller 130 is not to continue operating (block 332: NO), themachine-readable instructions 300 terminate.

FIG. 4 is a flowchart representative of machine-readable instructions400 which may be executed to implement the filter chip controller 130 ofFIGS. 1 and/or 2. The machine-readable instructions 400 begin at block402 where the container size determination controller 208 determines thelocation of the left edge of the scroll container (SC) (e.g., the leftscroll edge (LSE)). For example, the container size determinationcontroller 208 determines the coordinates of a pixel on the LSE. Atblock 404, the container size determination controller 208 determinesthe location of the right edge of the SC (e.g., the right scroll edge(RSE)). For example, the container size determination controller 208determines the coordinates of a pixel on the RSE.

In the illustrated example of FIG. 4, at block 406, the container sizedetermination controller 208 determines the location of the left edge ofthe view container (VC) (e.g., the left view edge (LVE)). For example,the container size determination controller 208 determines thecoordinates of a pixel on the LVE. At block 408, the container sizedetermination controller 208 determines the location of the right edgeof the VC (e.g., the right view edge (RVE)). For example, the containersize determination controller 208 determines the coordinates of a pixelon the RVE. At block 410, the filter display handler 204 renders the VCand SC.

In the illustrated example of FIG. 4, at block 412, the container sizecomparator 210 determines whether the LSE is less than the LVE withrespect to the left side of the GUI 116. For example, the container sizecomparator 210 determines whether the LSE is closer to the left edge ofthe GUI 116 than the LVE. For example, the container size comparator 210determines whether the location of the LSE is less than the location ofthe LVE. In response to the container size comparator 210 determiningthat the LSE is less than the LVE with respect to the left side of theGUI 116 (block 412: YES), the machine-readable instructions 400 proceedto block 414. In response to the container size comparator 210determining that the LSE is greater than or equal to the LVE (block 412:NO), the machine-readable instructions 400 proceed to block 416. Atblock 414, the container size comparator 210 indicates that the leftscroll toggle (LST) is to be rendered.

In the illustrated example of FIG. 4, at block 416, the container sizecomparator 210 determines whether the RVE is less than the RSE withrespect to the left side of the GUI 116. For example, the container sizecomparator 210 determines whether the RVE is closer to the left edge ofthe GUI 116 than the RSE. For example, the container size comparator 210determines whether the location of the RVE is less than the location ofthe RSE. In response to the container size comparator 210 determiningthat the RVE is less than the RSE with respect to the left side of theGUI 116 (block 416: YES), the machine-readable instructions 400 proceedto block 418. In response to the container size comparator 210determining that the RVE is greater than or equal to the RSE (block 416:NO), the machine-readable instructions 400 proceed to block 420. Atblock 418, the container size comparator 210 indicates that the rightscroll toggle (RST) is to be rendered.

In the illustrated example of FIG. 4, at block 420, the filter displayhandler 204 renders the VC, the SC, and the indicated ones of the LSTand the RST. For example, the filter display handler 204 renders the LSTand the RST such that the LST and the RST have sizes that are determinedfrom the height of the VC. The filter display handler 204 determines theheight of the LST and the RST after the filter display handler 204 hasrendered the VC and/or the SC. As such, when the filter display handler204 initially renders the filter section 120, the filter section 120will not include the LST and/or the RST. Additionally, when the filterdisplay handler 204 subsequently renders the filter section 120, thefilter display handler 204 may render the LST and/or the RST dependingon whether LSE is less than the LVE with respect to the left side of theGUI 116 and/or whether the RVE is less than the RSE with respect to theleft side of the GUI 116.

In the illustrated example of FIG. 4, at block 422, the selectioncontroller 206 determines whether the user has selected a scroll toggle.In response to the selection controller 206 determining that the userhas selected a scroll toggle (block 422: YES), the machine-readableinstructions 400 proceed to block 422. In response to the selectioncontroller 206 determining that the user has not selected a scrolltoggle (block 422: NO), the machine-readable instructions 400 proceed toblock 426.

In the illustrated example of FIG. 4, at block 424, the filter displayhandler 204 adjusts the rendering of the VC, the SC, the RST, and/or theLST based on the selected scroll toggle. For example, in response toselection of the LST, the filter display handler 204 adjusts therendering of the VC, the SC, the LST, and/or the RST to display one ormore filter chips included in the SC that are left of previouslydisplayed filter chips. Alternatively, in response to selection of theRST, the filter display handler 204 adjusts the rendering of the VC, theSC, the LST, and/or the RST to display one or more filter chips includedin the SC that are right of previously displayed filter chips. In thismanner, the size of the SC is not predetermined and is regulated bynumber of filter chips that have been selected by a user. Thus, whileexamples disclosed herein focus on filter chips, examples disclosedherein are not limited thereto. For example, the consumer of the filterchip controller 130 may insert whatever they like into the SC, and thefilter chip controller 130 will size and render the VC, the SC, the RST,and/or the LST with the correct scroll buttons and overflow management.For example, as opposed to filter chips the SC can include action chipsthat a user can select to trigger an action in a device. For example,the user 110 could select an action chip that causes the computer 102and/or the cloud computing network 109 to transmit an instruction to theagriculture equipment 108 to cause the agriculture equipment 108 to takean action).

In the illustrated example of FIG. 4, at block 426, the communicationprocessor 202 determines whether the filter chip controller 130 is tocontinue operating. For example, a condition that would cause thecommunication processor 202 to determine that the filter chip controller130 is to continue operating includes the user continuing to interactwith the GUI 116. Alternatively, a condition that would cause thecommunication processor 202 to determine that the filter chip controller130 is not to continue operating includes the user navigating away fromthe GUI 116. In response to the communication processor 202 determiningthat the filter chip controller 130 is to continue operating (block 426:YES), the machine-readable instructions 400 return to block 412. Inresponse to the communication processor 202 determining that the filterchip controller 130 is not to continue operating (block 426: NO), themachine-readable instructions 400 terminate.

FIG. 5 is an illustration of an example implementation of the filtersection 120 and the additional filters button 126. In the example ofFIG. 5, the filter section 120 includes an example first filter chip502, an example second filter chip 504, and an example third filter chip506. The filter section 120 illustrated in FIG. 5, represents a defaultstate and the first filter chip 502, the second filter chip 504, and thethird filter chip 506 correspond to primary filter chips. Additionalfilters chips can be added beyond the primary filter chips via theadditional filters button 126. The first filter chip 502, the secondfilter chip 504, the third filter chip 506, and/or any secondary filterchips are configured to be selected to alter characteristics by whichdata is filtered based on respective ones of the filter chips. Forexample, the data is related to an agricultural application such asfarming.

FIG. 6 is an illustration of an interaction between the user 110 and thefilter section 120 and the additional filters button 126 of FIG. 5. Forexample, the user 110 selects the second filter chip 504 at operation602.

FIG. 7 is an illustration of interactions between the user 110 and anexample menu 702 associated with the second filter chip 504. Forexample, when the user 110 selects the second filter chip 504, thefilter display handler 204 displays the menu 702 to allow the user 110to make selections in the characteristics of the selected primary filterchip. The menu 702 includes an example search bar 704, an example firstcheckbox 706, an example second checkbox 708, an example third checkbox710, an example “Done” button 712, an example “Clear” button 714, and anexample “X” button 716.

In the illustrated example of FIG. 7, the search bar 704 allows a userto search through the possible characteristics that can be applied tothe second filter chip 504. The first checkbox 706, the second checkbox708, and the third checkbox 710 correspond to different characteristicsthat the user 110 can apply to the second filter chip 504. For example,at operation 718, the user 110 selects the first checkbox 706 to apply“Characteristic B1” to the second filter chip 504.

In the illustrated example of FIG. 7, the “Done” button 712 allows theuser 110 to confirm the selected characteristics to apply to the secondfilter chip 504. For example, at operation 720, the user 110 selects the“Done” button 712 to confirm the selection of the first checkbox 706.The “Clear” button 714 allows the user 110 to clear the selections ofthe first checkbox 706, the second checkbox 708, and/or the thirdcheckbox 710. The “X” button 716 allows the user 110 to close out of themenu 702 without confirming the selected characteristics to apply to thesecond filter chip 504.

FIG. 8 is an illustration of the filter section 120 and the additionalfilters button 126 after the selection of a primary filter chip and theapplication of a specific characteristic to the primary filter chip. Forexample, after the user 110 selects the second filter chip 504, thefilter display handler 204 indicates that the second filter chip 504(e.g., styles the second filter chip 504) is active by highlighting thesecond filter chip 504. Additionally, the filter display handler 204sets an example textbox 802 of the second filter chip 504 according tothe selected characteristic (e.g., “Characteristic B1”). Being that thesecond filter chip 504 is now active, the second filter chip 504includes an example cancel button 804 to allow the user 110 todeactivate the second filter chip 504.

FIG. 9 is an illustration of interactions between the user 110 and themenu 702 associated with the second filter chip 504 after the user 110has previously activated the second filter chip 504. For example, afterthe filter display handler 204 indicates that the second filter chip 504is active and sets the textbox 802 according to the selectedcharacteristics, the filter display handler 204 orients the secondfilter chip 504 as the first in the filter section 120. For example, thefilter display handler 204 orders the first filter chip 502, the secondfilter chip 504, and the third filter chip 506 such that the mostrecently activated filter chip is arranged in the first position fromthe left in the array of filter chips (e.g., within the filter section120).

In the illustrated example of FIG. 9, the user 110 opens the menu 702 ofthe second filter chip 504 and modifies the applied characteristics toinclude more characteristics. For example, the user 110 has selected thesecond checkbox 708 to apply “Characteristic B2” to the second filterchip 504 and at operation 902, the user 110 selects the third checkbox710 to apply “Characteristic B3” to the second filter chip 504. Atoperation 904, the user 110 selects the “Done” button 712 to confirm theselection of the first checkbox 706, the second checkbox 708, and thethird checkbox 710.

FIG. 10 is an illustration of interactions between the user 110 and anexample menu 1002 associated with the first filter chip 502. Forexample, when the user 110 selects the first filter chip 502, the filterdisplay handler 204 displays the menu 1002 to allow the user 110 to makeselections in the characteristics of the selected primary filter chip.The menu 1002 includes an example search bar 1004, an example firstcheckbox 1006, an example second checkbox 1008, an example thirdcheckbox 1010, an example “Done” button 1012, an example “Clear” button1014, and an example “X” button 1016. Additionally, as the user 110previously updated the second filter chip 504, the filter displayhandler 204 sets the textbox 802 of the second filter chip 504 accordingto the selected characteristics.

In the illustrated example of FIG. 10, the search bar 1004 allows a userto search through the possible characteristics that can be applied tothe first filter chip 502. The first checkbox 1006, the second checkbox1008, and the third checkbox 1010 correspond to differentcharacteristics that the user 110 can apply to the first filter chip502. For example, at operation 1018, the user 110 selects the firstcheckbox 1006 to apply “Characteristic A1” to the first filter chip 502.

In the illustrated example of FIG. 10, the “Done” button 1012 allows theuser 110 to confirm the selected characteristics to apply to the firstfilter chip 502. For example, at operation 1020, the user 110 selectsthe “Done” button 1012 to confirm the selection of the first checkbox1006. The “Clear” button 1014 allows the user 110 to clear theselections of the first checkbox 1006, the second checkbox 1008, and/orthe third checkbox 1010. The “X” button 1016 allows the user 110 toclose out of the menu 1002 without confirming the selectedcharacteristics to apply to the first filter chip 502.

FIG. 11 is an illustration of the filter section 120 and the additionalfilters button 126 after the selection of the first filter chip 502 andthe application of a specific characteristic to the first filter chip502. For example, after the user 110 selects the first filter chip 502,the filter display handler 204 indicates that the first filter chip 502(e.g., styles the first filter chip 502) is active by highlighting thefirst filter chip 502. Additionally, the filter display handler 204 setsan example textbox 1102 of the first filter chip 502 according to theselected characteristic (e.g., “Characteristic A1”). Being that thefirst filter chip 502 is now active, the first filter chip 502 includesan example cancel button 1104 to allow the user 110 to deactivate thefirst filter chip 502.

In the illustrated example of FIG. 11, after the filter display handler204 indicates that the first filter chip 502 is active and sets thetextbox 1102 according to the selected characteristics, the filterdisplay handler 204 orients the first filter chip 502 as the first inthe filter section 120. For example, the filter display handler 204orders the first filter chip 502, the second filter chip 504, and thethird filter chip 506 such that the most recently activated filter chipis arranged in the first position from the left in the array of filterchips (e.g., within the filter section 120). Additionally, at operation1106, the user 110 selects the additional filters button 126.

FIG. 12 is an illustration of an example “More Filters” modal 1202activated when the user 110 selects the additional filters button 126.The “More Filters” modal 1202 is a popup window that appears (e.g., popsup) within the GUI 116. The “More Filters” modal 1202 includes theavailable filters and corresponding characteristics. The “More Filters”modal 1202 includes an example first dropdown menu 1204 corresponding tothe first filter chip 502, an example second dropdown menu 1206corresponding to the second filter chip 504, an example third dropdownmenu 1208 corresponding to the third filter chip 506, and an examplefourth dropdown menu 1210 corresponding to a secondary filter chip.

In the illustrated example of FIG. 12, the first dropdown menu 1204includes an example first toggle 1212. The second dropdown menu 1206includes an example second toggle 1214. The third dropdown menu 1208includes an example third toggle 1216. The fourth dropdown menu 1210includes an example fourth toggle 1218. Each of the first toggle 1212,the second toggle 1214, the third toggler 1216, and the fourth toggle1218 allows the user 110 to access the available characteristics toapply to the first filter chip 502, the second filter chip 504, thethird filter chip 506, and the secondary filter chip, respectively.

In the illustrated example of FIG. 12, the “More Filters” modal 1202includes an example “Done” button 1220, an example “Cancel” button 1222,and an example “X” button 1224. The “Done” button 1220 allows the user110 to confirm the selected characteristics to apply to any of the firstfilter chip 502, the second filter chip 504, the third filter chip 506,and/or any secondary filter chips. For example, at operation 1226, theuser 110 selects the fourth dropdown menu 1210 to access characteristicsavailable to apply to the secondary filter chip. In the example of FIG.12, the “Cancel” button 1222 allows the user 110 to close out of the“More Filters” modal 1202 without confirming the selectedcharacteristics to apply to any of the first filter chip 502, the secondfilter chip 504, the third filter chip 506, and/or any secondary filterchips. The “X” button 1224 allows the user 110 to close out of the “MoreFilters” modal 1202 without confirming the selected characteristics toapply to any of the first filter chip 502, the second filter chip 504,the third filter chip 506, and/or any secondary filter chips.

FIG. 13 is an illustration of interactions between the user 110 and anexample first selection button 1302, an example second selection button1304, and an example third selection button 1306. As used herein,“selection button” refers to a user interface (UI) component that allowsa user to select multiple options in a list includer several options. Atoperation 1308, the user 110 selects the first selection button 1302 toapply “Characteristic Dl” to the secondary filter chip. As such, theuser 110 adds another filter via the characteristic selection in the“More Filters” modal 1202.

FIG. 14 is an illustration of interactions between the user 110 and the“More Filters” modal 1202. For example, at operation 1402, the user 110selects the “Done” button 1220 to confirm the selections within thefirst dropdown menu 1204, the second dropdown menu 1206, the thirddropdown menu 1208, and/or the fourth dropdown menu 1210.

FIG. 15 is an illustration of the filter section 120 and the additionalfilters button 126 after the selection of a secondary first filter chipvia the “More Filters” modal 1202. For example, after the user 110selects the a characteristic from the fourth dropdown menu 1210, thefilter display handler 204 renders an example fourth filter chip 1502and indicates that the fourth filter chip 1502 (e.g., styles the fourthfilter chip 1502) is active by highlighting the fourth filter chip 1502.Additionally, the filter display handler 204 sets an example textbox1504 of the fourth filter chip 1502 according to the selectedcharacteristic (e.g., “Characteristic D1”). Being that the fourth filterchip 1502 is now active, the fourth filter chip 1502 includes an examplecancel button 1506 to allow the user 110 to deactivate the fourth filterchip 1502.

In the illustrated example of FIG. 15, after the filter display handler204 indicates that the fourth filter chip 1502 is active and sets thetextbox 1504 according to the selected characteristics, the filterdisplay handler 204 orients the fourth filter chip 1502 as the first inthe filter section 120. For example, the filter display handler 204orders the first filter chip 502, the second filter chip 504, the thirdfilter chip 506, and the fourth filter chip 1502 such that the mostrecently activated filter chip is arranged in the first position fromthe left in the array of filter chips (e.g., within the filter section120). As such, the fourth filter chip 1502 extends outside the bounds ofthe filter section 120 (e.g., the first filter chip 502, the secondfilter chip 504, the third filter chip 506, and the fourth filter chip1502 overflow and are clipped by the VC). Accordingly, the containersize determination controller 208 determines that the LSE is less thanthe LVE with respect to the left side of the GUI 116.

FIG. 16 is an illustration of a subsequent rendering of the filtersection 120 after the user 110 adds the fourth filter chip 1502. Asdescribed above, the filter display handler 204 orients the fourthfilter chip 1502 as the first in the filter section 120. Additionally,in response to the container size determination controller 208determines that the LSE is less than the LVE with respect to the leftside of the GUI 116, the filter display handler 204 renders an exampleright scroll toggle (RST) 1602 providing additional functionality to theuser 110 to scroll through the primary filter chips and active secondaryfilter chips. In the example of FIG. 16, the filter display handler 204renders the RST 1602 as a chevron button. The RST 1602 conveys to theuser 110 that one or more filter chips (e.g., the first filter chip 502and the third filter chip 506) overflow outside of the filter section120 (e.g., the VC). At operation 1604, the user 110 selects the RST 1602to scroll to the right.

FIG. 17 is an illustration of a subsequent rendering of the filtersection 120 after the operation 1604 of FIG. 16. Because the user 110has scrolled to the right, the fourth filter chip 1502 overflows outsideof the filter section 120 (e.g., to the left). Additionally, the thirdfilter chip 506 also overflows outside of the filter section 120 (e.g.,to the right). Accordingly, the container size determination controller208 determines that the LSE is less than the LVE with respect to theleft side of the GUI 116. Additionally, the container size determinationcontroller 208 determines that the RVE is less than the RSE with respectto the left side of the GUI 116. In response to the container sizedetermination controller 208 determines that the LSE is less than theLVE with respect to the left side of the GUI 116 and the RVE is lessthan the RSE with respect to the left side of the GUI 116, the filterdisplay handler 204 renders the RST 1602 and an example left scrolltrigger (LST) 1702 providing additional functionality to the user 110 toscroll through the primary filter chips and active secondary filterchips.

FIG. 18 is an illustration of an example view container (VC) 1802 and anexample scroll container (SC) 1804. The example VC 1802 includes anexample left view edge (LVE) 1806 and an example right view edge (RVE)1808. The example SC 1804 includes an example left scroll edge (LSE)1810 and an example right scroll edge (RSE) 1812. The LVE 1806corresponds to a location of a left edge of the VC with respect to theleft side of the GUI 116. The RVE 1808 corresponds to a location of aright edge of the VC with respect to the left side of the GUI 116. TheLSE 1810 corresponds to a location of a left edge of the SC with respectto the left side of the GUI 116. The RSE 1812 corresponds to a locationof a right edge of the SC with respect to the left side of the GUI 116.

FIG. 19 is an illustration of the VC 1802 and the SC 1804 including anexample left scroll toggle (LST) 1902 and an example right scroll toggle(RST) 1904.

FIG. 20 is an illustration of example pseudo-code 2000 which may be usedto implement the filter chip controller 130 of FIGS. 1 and/or 2. Thepseudo-code 2000 includes example lines of code (LOC) 2002, 2004, 2006,and 2008. At LOC 2002, the filter chip controller 130 determines if thedifference between the LSE and the LVE is less than zero. If so, thefilter chip controller 130 displays the LST. At LOC 2004, the filterchip controller 130 determines if the difference between the LSE and theLVE is greater than or equal to zero. If so, the filter chip controller130 does not display the LST. At LOC 2006, the filter chip controller130 determines if the difference between the RVE and the RSE is lessthan zero. If so, the filter chip controller 130 displays the RST. AtLOC 2008, the filter chip controller 130 determines if the differencebetween the RVE and the RSE is greater than or equal to zero. If so, thefilter chip controller 130 does not display the RST.

FIG. 21A is an illustration of an example operation of the filter chipcontroller 130 of FIGS. 1 and/or 2 when displaying filter chips. Forexample, because the RVE 1808 is less than the RSE 1812 with respect tothe left side of the GUI 116, the filter display handler 204 renders theRST 1904. Additionally, because the LSE 1820 is not less than the LVE1806 with respect to the left side of the GUI 116, the filter displayhandler 204 does not render the LST 1902.

FIG. 21B is an illustration of an example operation of the filter chipcontroller 130 of FIGS. 1 and/or 2 when displaying filter chips. Forexample, because the RVE 1808 is not less than the RSE 1812 with respectto the left side of the GUI 116, the filter display handler 204 does notrender the RST 1904. Additionally, because the LSE 1820 is less than theLVE 1806 with respect to the left side of the GUI 116, the filterdisplay handler 204 renders the LST 1902.

FIG. 21C is an illustration of an example operation of the filter chipcontroller 130 of FIGS. 1 and/or 2 when displaying filter chips. Forexample, because the RVE 1808 is not less than the RSE 1812 with respectto the left side of the GUI 116, the filter display handler 204 does notrender the RST 1904. Additionally, because the LSE 1820 is not less thanthe LVE 1806 with respect to the left side of the GUI 116, the filterdisplay handler 204 does not render the LST 1902.

FIG. 21D is an illustration of an example operation of the filter chipcontroller 130 of FIGS. 1 and/or 2 when displaying filter chips. Forexample, because the RVE 1808 is less than the RSE 1812 with respect tothe left side of the GUI 116, the filter display handler 204 renders theRST 1904. Additionally, because the LSE 1820 is less than the LVE 1806with respect to the left side of the GUI 116, the filter display handler204 renders the LST 1902.

FIG. 22 is a block diagram of an example processor platform 2200structured to execute the instructions of FIGS. 3 and/or 4 to implementthe filter chip controller 130 of FIGS. 1 and/or 2. The processorplatform 2200 can be, for example, a server, a personal computer, aworkstation, a self-learning machine (e.g., a neural network), a mobiledevice (e.g., a cell phone, a smart phone, a tablet such as an iPad™), apersonal digital assistant (PDA), an Internet appliance, a DVD player, aCD player, a digital video recorder, a Blu-ray player, a gaming console,a personal video recorder, a set top box, a headset or other wearabledevice, or any other type of computing device.

The processor platform 2200 of the illustrated example includes aprocessor 2212. The processor 2212 of the illustrated example ishardware. For example, the processor 2212 can be implemented by one ormore integrated circuits, logic circuits, microprocessors, GPUs, DSPs,or controllers from any desired family or manufacturer. The hardwareprocessor 2212 may be a semiconductor based (e.g., silicon based)device. In this example, the processor 2212 implements the examplecommunication processor 202, the example filter display handler 204, theexample selection controller 206, the example container sizedetermination controller 208, and/or the example container sizecomparator 210.

The processor 2212 of the illustrated example includes a local memory2213 (e.g., a cache). The processor 2212 of the illustrated example isin communication with a main memory including a volatile memory 2214 anda non-volatile memory 2216 via a bus 2218. The volatile memory 2214 maybe implemented by Synchronous Dynamic Random-Access Memory (SDRAM),Dynamic Random-Access Memory (DRAM), RAMBUS® Dynamic Random-AccessMemory (RDRAM®) and/or any other type of random-access memory device.The non-volatile memory 2216 may be implemented by flash memory and/orany other desired type of memory device. Access to the main memory 2214,2216 is controlled by a memory controller.

The processor platform 2200 of the illustrated example also includes aninterface circuit 2220. The interface circuit 2220 may be implemented byany type of interface standard, such as an Ethernet interface, auniversal serial bus (USB), a Bluetooth® interface, a near fieldcommunication (NFC) interface, and/or a PCI express interface.

In the illustrated example, one or more input devices 2222 are connectedto the interface circuit 2220. The input device(s) 2222 permit(s) a userto enter data and/or commands into the processor 2212. The inputdevice(s) can be implemented by, for example, an audio sensor, amicrophone, a camera (still or video), a keyboard, a button, a mouse, atouchscreen, a track-pad, a trackball, isopoint and/or a voicerecognition system.

One or more output devices 2224 are also connected to the interfacecircuit 2220 of the illustrated example. The output devices 2224 can beimplemented, for example, by display devices (e.g., a light emittingdiode (LED), an organic light emitting diode (OLED), a liquid crystaldisplay (LCD), a cathode ray tube display (CRT), an in-place switching(IPS) display, a touchscreen, etc.), a tactile output device, a printerand/or speaker. The interface circuit 2220 of the illustrated example,thus, typically includes a graphics driver card, a graphics driver chip,and/or a graphics driver processor.

The interface circuit 2220 of the illustrated example also includes acommunication device such as a transmitter, a receiver, a transceiver, amodem, a residential gateway, a wireless access point, and/or a networkinterface to facilitate exchange of data with external machines (e.g.,computing devices of any kind) via a network 2226. The communication canbe via, for example, an Ethernet connection, a digital subscriber line(DSL) connection, a telephone line connection, a coaxial cable system, asatellite system, a line-of-site wireless system, a cellular telephonesystem, etc.

The processor platform 2200 of the illustrated example also includes oneor more mass storage devices 2228 for storing software and/or data.Examples of such mass storage devices 2228 include floppy disk drives,hard drive disks, compact disk drives, Blu-ray disk drives, redundantarray of independent disks (RAID) systems, and digital versatile disk(DVD) drives.

The machine executable instructions 2232 of FIG. 22 implement themachine-readable instructions 300 of FIG. 3 and/or the machine-readableinstructions 400 of FIG. 4 and may be stored in the mass storage device2228, in the volatile memory 2214, in the non-volatile memory 2216,and/or on a removable non-transitory computer readable storage mediumsuch as a CD or DVD.

A block diagram illustrating an example software distribution platform2305 to distribute software such as the example computer readableinstructions 2232 of FIG. 22 to third parties is illustrated in FIG. 23.The example software distribution platform 2305 may be implemented byany computer server, data facility, cloud service, etc., capable ofstoring and transmitting software to other computing devices. The thirdparties may be customers of the entity owning and/or operating thesoftware distribution platform. For example, the entity that owns and/oroperates the software distribution platform may be a developer, aseller, and/or a licensor of software such as the example computerreadable instructions 2232 of FIG. 22. The third parties may beconsumers, users, retailers, OEMs, etc., who purchase and/or license thesoftware for use and/or re-sale and/or sub-licensing. In the illustratedexample, the software distribution platform 2305 includes one or moreservers and one or more storage devices. The storage devices store thecomputer readable instructions 2232, which may correspond to the examplecomputer readable instructions 300 of FIG. 3 and/or the example computerreadable instructions 400 of FIG. 4, as described above. The one or moreservers of the example software distribution platform 2305 are incommunication with a network 2310, which may correspond to any one ormore of the Internet and/or any of the example networks described above.In some examples, the one or more servers are responsive to requests totransmit the software to a requesting party as part of a commercialtransaction. Payment for the delivery, sale and/or license of thesoftware may be handled by the one or more servers of the softwaredistribution platform and/or via a third-party payment entity. Theservers enable purchasers and/or licensors to download the computerreadable instructions 2232 from the software distribution platform 2305.For example, the software, which may correspond to the example computerreadable instructions 2232 of FIG. 22, may be downloaded to the exampleprocessor platform 2200, which is to execute the computer readableinstructions 2232 to implement the filter chip controller 130. In someexample, one or more servers of the software distribution platform 2305periodically offer, transmit, and/or force updates to the software(e.g., the example computer readable instructions 2232 of FIG. 22) toensure improvements, patches, updates, etc. are distributed and appliedto the software at the end user devices.

From the foregoing, it will be appreciated that example methods,apparatus and articles of manufacture have been disclosed that methods,apparatus, and articles of manufacture to display data in compactspaces. Examples disclosed herein a first HTML container (e.g., the VC)that renders a second HTML container (e.g., the SC) within the firstHTML container. Examples disclosed herein measure the first HTMLcontainer and the second HTML container to determines if the contentwithin the second HTML container (e.g., the SC) is larger than the firstHTML container (e.g., the VC). If the content within the second HTMLcontainer is larger than the first HTML container, examples disclosedherein detect the size difference and renders one or more scroll togglesto the side and/or sides that has and/or have overflowing content.Advantageously, examples disclosed herein include filter chips that maybe tailored to provide a user with increased control over which data isfiltered from a pool of data.

The disclosed methods, apparatus and articles of manufacture improve theefficiency of using a computing device by allow a user to easilyinteract with many filter chips that have been applied to any view. Forexample, as space is limited on the display, the horizontal scroll bardisclosed herein allows a user to easily scroll through the filter chipsthat have been applied. If the user wants to modify a filter, examplesdisclosed herein provide the user with the functionality to modify thefilter within the corresponding filter chip and/or easily clear thefilter. Additionally, examples disclosed herein include a scroll barincluding filter chips that can selectively display a left toggle, aright toggle, and/or both, and where the filter chips can be triggeredto display a drop down lists, filtered check box options, radio buttons,and/or other graphical user interface control objects. Examplesdisclosed herein engage a user in an efficient and/or ergonomic mannerthat allows the user to execute more operations on a computer (e.g., tomore efficiently use a computer). The disclosed methods, apparatus andarticles of manufacture are accordingly directed to one or moreimprovement(s) in the functioning of a computer.

Although certain example methods, apparatus and articles of manufacturehave been disclosed herein, the scope of coverage of this patent is notlimited thereto. On the contrary, this patent covers all methods,apparatus and articles of manufacture fairly falling within the scope ofthe claims of this patent.

The following claims are hereby incorporated into this DetailedDescription by this reference, with each claim standing on its own as aseparate embodiment of the present disclosure.

1. A non-transitory computer readable storage medium comprisinginstructions that, when executed, cause a processor to at least: rendera view container and a scroll container included in a graphics userinterface (GUI); in response to a left edge of the scroll containerbeing closer to a left side of the GUI than a left edge of the viewcontainer, render a left scroll toggle actionable to scroll the scrollcontainer left; and in response to a right edge of the view containerbeing closer to the left side of the GUI than a right edge of the scrollcontainer, render a right scroll toggle actionable to scroll the scrollcontainer right.
 2. The non-transitory computer readable storage mediumof claim 1, wherein the instructions cause the processor to: determinefirst coordinates of a first pixel on the right edge of the viewcontainer with respect to the left side of the GUI to determine a firstlocation of the right edge of the view container; determine secondcoordinates of a second pixel on the right edge of the scroll containerwith respect to the left side of the GUI to determine a second locationof the right edge of the scroll container; and determine whether thefirst location of the right edge of the view container is less than thesecond location of the right edge of the scroll container to determinewhether the right edge of the view container is closer to the left sideof the GUI than the right edge of the scroll container.
 3. Thenon-transitory computer readable storage medium of claim 1, wherein theinstructions cause the processor to: determine first coordinates of afirst pixel on the left edge of the scroll container with respect to theleft side of the GUI to determine a first location of the left edge ofthe scroll container; determine second coordinates of a second pixel onthe left edge of the view container with respect to the left side of theGUI to determine a second location of the left edge of the viewcontainer; and determine whether the first location of the left edge ofthe scroll container is less than the second location of the left edgeof the view container to determine whether the left edge of the scrollcontainer is closer to the left side of the GUI than the left edge ofthe view container.
 4. The non-transitory computer readable storagemedium of claim 1, wherein the scroll container includes one or morefilter chips that are configured to be selected to alter characteristicsby which data is filtered based on respective ones of the filter chips.5. The non-transitory computer readable storage medium of claim 4,wherein the data is related to an agricultural application.
 6. Thenon-transitory computer readable storage medium of claim 1, wherein theinstructions cause the processor to: in response to selection of theleft scroll toggle, adjust rendering of the view container and thescroll container to display one or more filter chips included in thescroll container that are left of previously displayed filter chips; andin response to selection of the right scroll toggle, adjust rendering ofthe view container and the scroll container to display one or morefilter chips included in the scroll container that are right ofpreviously displayed filter chips.
 7. The non-transitory computerreadable storage medium of claim 1, wherein the instructions cause theprocessor to render the left scroll toggle and the right scroll togglesuch that a first height of the left scroll toggle and a second heightof the right scroll toggle is based on a third height of the viewcontainer.
 8. An apparatus comprising: a container size comparator to:determine whether a first location of a left edge of a scroll containeris less than a second location of a left edge of a view container; anddetermine whether a third location of a right edge of the view containeris less than a fourth location of a right edge of the scroll container;and a filter display handler to: render the view container and thescroll container included in a graphics user interface (GUI); inresponse to the left edge of the scroll container being closer to a leftside of the GUI than the left edge of the view container, render a leftscroll toggle actionable to scroll the scroll container left; and inresponse to the right edge of the view container being closer to theleft side of the GUI than the right edge of the scroll container, rendera right scroll toggle actionable to scroll the scroll container right.9. The apparatus of claim 8, further including: a container sizedetermination controller to: determine first coordinates of a firstpixel on the right edge of the view container with respect to the leftside of the GUI to determine the third location of the right edge of theview container; and determine second coordinates of a second pixel onthe right edge of the scroll container with respect to the left side ofthe GUI to determine the fourth location of the right edge of the scrollcontainer.
 10. The apparatus of claim 8, further including: a containersize determination controller to: determine first coordinates of a firstpixel on the left edge of the scroll container with respect to the leftside of the GUI to determine the first location of the left edge of thescroll container; and determine second coordinates of a second pixel onthe left edge of the view container with respect to the left side of theGUI to determine the second location of the left edge of the viewcontainer.
 11. The apparatus of claim 8, wherein the scroll containerincludes one or more filter chips that are configured to be selected toalter characteristics by which data is filtered based on respective onesof the filter chips.
 12. The apparatus of claim 11, wherein the data isrelated to an agricultural application.
 13. The apparatus of claim 8,wherein the filter display handler is to: in response to selection ofthe left scroll toggle, adjust rendering of the view container and thescroll container to display one or more filter chips included in thescroll container that are left of previously displayed filter chips; andin response to selection of the right scroll toggle, adjust rendering ofthe view container and the scroll container to display one or morefilter chips included in the scroll container that are right ofpreviously displayed filter chips.
 14. The apparatus of claim 8, whereinthe filter display handler is to render the left scroll toggle and theright scroll toggle such that a first height of the left scroll toggleand a second height of the right scroll toggle is based on a thirdheight of the view container.
 15. A method comprising: rendering a viewcontainer and a scroll container included in a graphics user interface(GUI); in response to a left edge of the scroll container being closerto a left side of the GUI than a left edge of the view container,rendering a left scroll toggle actionable to scroll the scroll containerleft; and in response to a right edge of the view container being closerto the left side of the GUI than a right edge of the scroll container,rendering a right scroll toggle actionable to scroll the scrollcontainer right.
 16. The method of claim 15, further including:determining first coordinates of a first pixel on the right edge of theview container with respect to the left side of the GUI to determine afirst location of the right edge of the view container; determiningsecond coordinates of a second pixel on the right edge of the scrollcontainer with respect to the left side of the GUI to determine a secondlocation of the right edge of the scroll container; and determiningwhether the first location of the right edge of the view container isless than the second location of the right edge of the scroll containerto determine whether the right edge of the view container is closer tothe left side of the GUI than the right edge of the scroll container.17. The method of claim 15, further including: determining firstcoordinates of a first pixel on the left edge of the scroll containerwith respect to the left side of the GUI to determine a first locationof the left edge of the scroll container; determining second coordinatesof a second pixel on the left edge of the view container with respect tothe left side of the GUI to determine a second location of the left edgeof the view container; and determining whether the first location of theleft edge of the scroll container is less than the second location ofthe left edge of the view container to determine whether the left edgeof the scroll container is closer to the left side of the GUI than theleft edge of the view container.
 18. The method of claim 15, wherein thescroll container includes one or more filter chips that are configuredto be selected to alter characteristics by which data is filtered basedon respective ones of the filter chips.
 19. The method of claim 18,wherein the data is related to an agricultural application.
 20. Themethod of claim 15, further including: in response to selection of theleft scroll toggle, adjusting rendering of the view container and thescroll container to display one or more filter chips included in thescroll container that are left of previously displayed filter chips; andin response to selection of the right scroll toggle, adjusting renderingof the view container and the scroll container to display one or morefilter chips included in the scroll container that are right ofpreviously displayed filter chips.
 21. (canceled)